/*
 * ControlPanel.hpp
 *
 *  Created on: 27-12-2010
 *      Author: Przemek
 */

#pragma once

#include "gui/Container.hpp"
#include "gui/Slider.hpp"
#include "gui/Checkbox.hpp"
#include "world/creation/CreationState.hpp"
#include "listener/SelectElementMouseListener.hpp"
#include "pch.hpp"

/*
 * Panel which has all the controls which control the world state. Including add elements buttons, start/stop
 * button, time speed multiplcation slider, etc.
 */
class ControlPanel: public Container
{
	private:
		Slider* speedSlider;
		Checkbox* addOnDragCheckbox;
		Checkbox* anchorToGridCheckbox;
		boost::shared_ptr<CreationState> creationState;

	public:
		ControlPanel(const Dimension& parentSize,
				SelectElementMouseListener* selectElementMouseListener);
		int getTimeSpeedMultiplication() const;
		CreationState* getCreationState();
		const Checkbox* getAddOnDragCheckbox() const;
		const Checkbox* getAnchorToGridCheckbox() const;
};

